Media object distribution

ABSTRACT

A method that comprises receiving at a network connected server from a first client terminal, a message comprising, an user application ID of a user selecting a media object using a user interface presented on a display of the first client terminal and the media object, generating a web document which presents a browser user interface and the media object when accessed by a browser, the web document having a network accessible storage address, sending the network accessible storage address from the network connected server to allow a browser installed in a second client terminal to use of the network accessible storage address to display the media object the browser user interface, identifying a usage of the browser user interface for inputting a reaction to the media object by a user of the second client terminal, and forwarding the reaction to the first client terminal using the sender user ID.

RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.14/797,263, filed Jul. 13, 2015, which claims the benefit of priorityunder 35 USC 119(e) of U.S. Provisional Application Ser. No. 62/023,900filed Jul. 13, 2014, the contents of each of which are incorporatedherein by reference in their entireties.

BACKGROUND

The present invention, in some embodiments thereof, relates to mediamessaging but not exclusively, to methods and systems of managing mediamessaging over communication networks.

One of the most popular communication technologies that have beendeveloped for mobile communications systems is text messaging, inparticular the short message service (SMS) and instant messaging (IM)that allows mobile users to receive text, image, audio and/or videomessages via wireless communication devices, including SMS-capablecellular mobile phones. Mobile and stationary users can send messages torecipient users by entering a media message (e.g. text, image or videoincluding messages) and the destination address of the recipient user,who can be either a mobile or a non-mobile user.

During the last years, various standards that allow sending messagesthat include multimedia objects, such as images, audio, video, rich texthave been developed. Such standards have been adopted by socialnetworks, facilitating the transmission of media content among friends.

SUMMARY

According to some embodiments of there is provided a method of managingmedia object based communication, implemented by a network connectedserver. The method comprises receiving at a network connected serverfrom a first client terminal, a message comprising, an user applicationidentifier (ID) of a user selecting a media object using a userinterface presented on a display of the first client terminal and themedia object, generating, in response to a reception of the message, aweb document which presents a browser user interface and the mediaobject when accessed by a browser, the web document having a networkaccessible storage address, sending the network accessible storageaddress from the network connected server to allow a browser installedin a second client terminal to use of the network accessible storageaddress to display the media object the browser user interface,identifying a usage of the browser user interface for inputting areaction to the media object by a user of the second client terminal,and forwarding the reaction, via the network connected server, to thefirst client terminal using the user application user ID.

Optionally, the sending is performed in a member of a group consistingof a short message service (SMS) message, instant messaging (IM)message, and an electronic mail.

Optionally, the sending comprises forwarding the network accessiblestorage address to the first client terminal from and network connectedserver, wherein the sending is performed by the first client terminal.

More optionally, the second client terminal is associated with a contactmember of the first client terminal; wherein the sending is performed bythe first client terminal using an electronic mail (email) address or atelephone number of the contact member of the first client terminal.

Optionally, the generating comprises documenting a conversation ID inassociation with the user ID and adding the conversation ID to thenetwork accessible storage address; wherein the identifying comprisesusing the conversation ID to match the user ID.

Optionally, the message comprises one of a target application user IDand a target ID selected from a group consisting of a target telephonenumber and an email address; further identifying a presence or anabsence of the target ID in a user dataset. The sending, theidentifying, and the forwarding are performed when the message does notcomprise the target application user ID. When the message comprises thetarget application user ID a transmission of the media object in apacket-oriented message addressed to the target application user ID isperformed.

Optionally, the transmission of the network accessible storage addressto the second client terminal is performed by the network connectedserver.

Optionally, the web document is designed to present the media object onthe browser for a limited period of less than 1 minute.

According to some embodiments of there is provided a system of managingmedia object based communication, implemented by a network connectedserver. The system comprises a processor, a network interface adapted toreceive from a first client terminal, a message comprising, an userapplication identifier (ID) of a user selecting a media object using auser interface presented on a display of the first client terminal andthe media object and a routing module executed using the processor andadapted to generate, in response to a reception of the message, a webdocument which presents a browser user interface and the media objectwhen accessed by a browser, the web document having a network accessiblestorage address. The network interface is adapted to send the networkaccessible storage address to allow a browser installed in a secondclient terminal to use of the network accessible storage address todisplay the media object the browser user interface. The routing moduleis adapted to identify a usage of the browser user interface forinputting a reaction to the media object by a user of the second clientterminal and to forward the reaction to the first client terminal usingthe sender user ID.

According to some embodiments of there is provided a method oftransmitting content among a plurality of mobile communication devices.The method comprises acquiring contact information of a plurality ofcontact members used by a client terminal to establish a cellularcommunication channel with any of the plurality of contact members via acellular network, identifying a selection of one of the plurality ofcontact members by a user of the client terminal, designating a mediaobject, and determining a presence or an absence of a user applicationidentifier for the selected contact member. When a presence of theapplication identifier is identified instructing the transmission of themedia object in a packet-oriented message addressed to the applicationidentifier. When an absence of the application identifier is identifiedinstructing the transmission of a carrier message containing a networkaccessible storage address of a storage location of the media objectusing a cellular messaging service or an email service, the carriermessage being addressed to a telephone number or an email of theselected contact member, the telephone number or the email is extractedfrom the contact information.

Optionally, the media object comprises at least one member of a groupconsisting of text content, a photograph, an audio content, and a videocontent, the at least one member being recorded in response to theselection.

Optionally, the designating comprises recording the media object using amedia object designation interface presented on a display of the clientterminal.

More optionally, the designating and the selection are performed inresponse to a common user input to the media object designationinterface.

More optionally, the identifying a selection of one of the plurality ofcontact members comprises: generating an interactive palette whichincludes a plurality of selectable icons each one of the plurality ofselectable icons is associated with one of the plurality of contactmembers, adding the interactive palette to the media object designationinterface, presenting the media object designation interface with theinteractive palette on the display, and identifying the selection basedon a choice of one of the plurality of selectable icons by the user.

Optionally, the display is a touch screen and the selection is a singlefinger tap event on an area of the display which presents one of theplurality of selectable icons.

More optionally, the media object designation interface comprises animage or video capturing area which displays an output of an imagesensor of the client terminal.

According to some embodiments of there is provided a client terminal forcellular communication. The client terminal comprises a contactcapturing module adapted to acquire contact information of a pluralityof contact members used by a client terminal to establish a cellularcommunication channel with any of the plurality of contact members via acellular network, a user interface adapted to identify a selection ofone of the plurality of contact members by a user of the client terminaland to designate a media object based on the selection, and a messagingrouter module adapted to identify a presence or an absence of anapplication identifier for the selected contact member. When a presenceof the application identifier is identified the media objectdistribution module instructs the transmission of a packet-orientedmessage addressed to the application identifier to transfer the mediaobject and when an absence of the application identifier is identifiedthe media object distribution module instructs the transmission of acellular message containing a network accessible storage address of astorage location of the media object using a cellular messaging service,the cellular message being addressed to a telephone number of theselected contact member which is extracted from the contact information.

Unless otherwise defined, all technical and/or scientific terms usedherein have the same meaning as commonly understood by one of ordinaryskill in the art to which the invention pertains. Although methods andmaterials similar or equivalent to those described herein can be used inthe practice or testing of embodiments of the invention, exemplarymethods and/or materials are described below. In case of conflict, thepatent specification, including definitions, will control. In addition,the materials, methods, and examples are illustrative only and are notintended to be necessarily limiting.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Some embodiments of the invention are herein described, by way ofexample only, with reference to the accompanying drawings. With specificreference now to the drawings in detail, it is stressed that theparticulars shown are by way of example and for purposes of illustrativediscussion of embodiments of the invention. In this regard, thedescription taken with the drawings makes apparent to those skilled inthe art how embodiments of the invention may be practiced.

In the drawings:

FIG. 1 is a sequence chart of a process allowing a user of anapplication to transmit a media object to one of his contact members,regardless of whether the target contact member is an application useror not, according to some embodiments of the present invention;

FIG. 2 is a schematic illustration of a system which includes a routingserver, and cellular and packet oriented networks and client terminals,according to some embodiments of the present invention;

FIG. 3 is a screenshot of a window of an application presenting an imagecapturing area and a palette of selectable icons representing contactmembers from the native contact list of the operating system of theclient terminal, according to some embodiments of the present invention;

FIGS. 4A and 4B are screenshots of exemplary web documents rendered by abrowser of a cellular phone and having a user interface to allow therecipient user to respond, according to some embodiments of the presentinvention;

FIG. 5 is a screenshot of exemplary GUI that allows a user to send agenerated network accessible storage address to a designated mediaobject in an SMS or an instant messaging (IM) message, according to someembodiments of the present invention;

FIG. 6 is a sequence chart depicting a process for distributing thenetwork accessible storage address using services or modules of theclient hosting the transmitting application, according to someembodiments of the present invention; and

FIG. 7 is a sequence chart depicting a process wherein the media objectis sent directly from the router server to the recipient and notuploaded to a web document server, according to some embodiments of thepresent invention.

DETAILED DESCRIPTION

The present invention, in some embodiments thereof, relates to mediamessaging but not exclusively, to methods and systems of managing mediamessaging over communication networks.

According to some embodiments of the present invention, there areprovided methods and systems for forwarding media object(s) from a userof an application to a recipient, for example one of her contactmembers, by automatically generating a web document, such as a websitethat includes the media object(s), optionally temporally, and sendingthe recipient with a reference (e.g. a link) to the web document via acarrier message such as an SMS or an email. The methods and systems mayapply this forwarding whenever the user application ID of the recipientis not found in a registry of the application.

According to some embodiments of the present invention, there areprovided methods and systems which allow a user who is uses a mobileapplication to exchange media objects (e.g. text, image, video, or audiocontent) with a user who does not use the mobile application. Theexchange is based on the ability to generate automatically a webdocument which a reference thereto can be communicated via a cellularnetwork and/or a packet oriented network based on a target address suchas a phone number (e.g. for sending SMS), an electronic mail, and thelike. The target address is optionally acquired front contact data whichare available to the application user.

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not necessarily limited in itsapplication to the details of construction and the arrangement of thecomponents and/or methods set forth in the following description and/orillustrated in the drawings and/or the Examples. The invention iscapable of other embodiments or of being practiced or carried out invarious ways.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers anchoredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Reference is now made to FIG. 1, which is a sequence chart 100 of aprocess allowing a user of an application, referred to as a user or anapplication user (AU), to transmit a media object, such as a textcontent (e.g. one or more words or sentences), an image, an audio fileand/or a video file, to one of his contact members, regardless ofwhether the target contact member is an application user registered to aservice provided by the application users or a non application user,according to some embodiments of the present invention. The media objectis designated by the user using an application user interface (UI) ofthe application. The user interface allows inputted text to a messagingeditor and/or an image or a video or an audio captured in response to auser selection, for example by tapping on an icon of a contact memberand/or a media object selected from a local or remote storage. Themethod is based on a chain of events which translate a simple userselection of a media object and a target contact, optionallysimultaneously by a common input action such as one or more icon fingertap(s), to instructions to upload of the media object to a web documenthosted by a remote server, connected to a computer packet network suchas the internee. This makes the media object available at the remoteserver when a reference sent to the target contact member is used, forexample a network address. The web document is optionally a webpage orany other network accessible destination. The reference to the webdocument is optionally a Uniform Resource Locator (URL) or a UniversalResource Identifier (URI). As explained above, the reference isforwarded in an SMS or an email to the target contact member, forexample as described below. The method optionally allows the targetcontact member who accesses the web document using the reference, forinstance via a browser, to respond to the media object which is sharedtherewith, for example by submitting another media object in a graphicaluser interface (GUI) made available at the web document. As describedbelow, the process depicted in FIG. 1 may used the target contact memberis not subscribed to the service provided by the application, forexample when the application is not installed at his client terminal. Insuch embodiments, when the contact member is a subscribed applicationuser, another process for directly distributing the media object (notvia a web document) is used, for example see FIG. 7 which is describedbelow.

Reference is also made to FIG. 2, which is a schematic illustration of asystem 300 which includes a routing server 303 having a processor 310and a routing module 311 executed using the processor for facilitatingthe processes depicted in FIGS. 1, 6 and 7, cellular and packet orientednetworks 305, 306 which are connected to the routing server 301, andclient terminals 302 hosting applications 301 through which mediaobjects and contact members are selected, according to some embodimentsof the present invention. The routing server 303 optionally includes orconnected to one or more databases 304 of application users andconversation logging, for example as described below. The clientterminal 302 may be a Smartphone, a tablet, a wearable device such asGoogle glass, a Smart watch, and/or the like. The client terminal of arecipient may be any device that has one or more network communicationmodules, such as a network card or chip and runs a web-browser. Theapplication may be App Store application or a Google Play applicationinstalled in the client terminal, a native operating system application,and/or a browser add-on and/or application.

Reference is now made, once again, to FIG. 1. First, as shown at 101,102, a user of a client terminal hosting an application, for example asshown at 301, uses a media object designation interface of theapplication to designate a media object and to select a targetrecipient, for example a contact member extracted from the contactdataset of the client terminal 302.

According to some embodiment of the present invention, a selection ofcontact member of the contact persons of the client terminal 302 and adesignation of a media object are performed with a single input action,such as a single finger tap, a single gesture, consecutive double tap,the release of a finger tap and/or the like. The designation of themedia object may be performed by capturing an image or a video or anaudio content or by instructing a transmission of a user selected orinputted textual contact.

In such embodiments, the media object designation interface may have animage capturing area rendering output of the image sensor(s) of theclient terminal and an input area having selectable icons representingdifferent contact members such that a selection of one of the selectableicons is indicative of an instruction to capture an image or a videousing the Le sensor(s) and/or audio via the microphones of the clientterminal and a selection contact member(s) to send an image or videocontent and/or audio content to.

For example, FIG. 3 is a screenshot of a window of an applicationpresenting an image capturing area 400 and a palette 401 of selectableicons, for example facial images, each represents another contact memberfrom the native contact list of the operating system of the clientterminal 302. Optionally, while the image capturing area 400 presentsoutputs of the image sensors of the client terminal 302, for instance asa camera display, the palette 401 comprises images of contact membersextracted from the contact dataset of the operating system, for instancewhen the application was installed or initiated. A selection of an iconinduces capturing of the image (or a video and/or audio) currentlypresented in the display area 400 and the selection of the respectivecontact member as a target contact member to which the media objectand/or a reference such as a link to the media object will be sent, forexample as depicted in FIG. 1 and FIG. 7.

As shown at 103, the application 301 generates a message which includesa unique user identifier (ID) of the user (or the client terminal) andthe media object. Optionally, the message further comprises an addressof one or more selected target contact member(s), for example telephonenumber(s) or electronic mails (emails) extracted from the contact dataof the selected contact members, for instance from contact recordsthereof.

As shown at 104, the message is forwarded to the transmission interfaceof the client application 301, for example to the wireless network orcellular communication card of the client terminal 302 which sends themessage via a wireless connection to the routing server 303, for examplevia a network interface 312. The message is optionally documented, forexample a conversation ID is now associated with the user ID in a log.For example, Table 1 is an exemplary table comprising recordsdocumenting user IDs in association with conversation IDs and withtarget non application users (NAU):

TABLE 1 Non Application user Conversation ID Application user ID details000000000001 000008832332 +1-202-894234323 . . . . . . . . .000002343341 000007777445 +1-809-343433443

The conversation ID is optionally part of the network accessible storageaddress to allow identifying non application users who access the webdocument holding the media object and reactions to the media objectwhich are received from them, for example media objects they upload.

Optionally, the data stored in the routing server is encrypted.Optionally, the messages transmitted to the routing server from theapplication 301 are encrypted. For example, target contact memberdetails may be stored encrypted and decrypted by a key stored at theapplication 301 when needed.

As shown at 105, the routing server 303 receives the message andgenerates, in response to a reception of the message, a web documentdesigned to present, when accessed by a browser, the media object fromthe message and optionally a user interface that allows the accessinguser to react to the media object.

As shown at 106, the web document is stored in a storage location havinga network accessible storage address, optionally with the conversationID. The web document is optionally hosted in a network accessiblenetwork node, such as a web document server 308.

Now, as shown at 107, the network accessible storage address of thegenerated web document is sent from the network connected server to thetarget contact member to allow him to access the media object using abrowser. For example, the network accessible storage address is sent ina cellular message, such as a short message service (SMS), and/or anemail, based on the target address from message. Optionally, the routingserver 303 includes cellular and/or email module(s) to facilitate thedistribution of the network accessible storage address.

As shown at 108, the recipient of the network accessible storage addresscan now use the network accessible storage address to access the webdocument and watch the media object. For example FIGS. 4A and 4B arescreenshots of exemplary web documents rendered by a browser of acellular phone and having a user interface 402 to allow the recipientuser to respond.

For example, as shown at 109, the recipient may upload his own mediaobject, for example a textual message, an image, an audio content, or avideo content using the presented user interface. The uploading isdetected by the routing server 303 which uses the conversation ID fromthe network accessible storage address of the web document to match theuser ID of the transmitting user (User A), as shown at 110 (e.g. usingtable 1).

As show at 111, 112, this media object is optionally uploaded to therouting server 303 which forwards it to the transmitting client terminal302.

The process depicted in FIG. 1 allows a user who installed theapplication in his client terminal 302 to use the application to sharemedia objects with a contact member which is not subscribed to theapplication.

Optionally, the web document is used for documenting a messaging sessionbetween the application user and a recipient which is not an applicationuser. In such embodiments, the above process may be repeated such thatthe routing server 303 uploads a plurality of media objects from theapplication user to the web document for the non application userrecipient to watch and receive via the user interface in the webdocument media objects for the application user to watch. While theapplication user watches the media objects on a GUI of the application,the recipient watches the media objects at the web document. Forexample, reference numeral 113 is a start of a flow wherein User A mediaobject II is sent to be uploaded to the web document after the nonapplication user responded to previously sent User A media object withhis own media object, User B media object.

Optionally, some or all or the media objects are set to be presented fora limited period after the first presentation thereof, for example afterloaded by a browser, for instance for no more than 5 seconds, 30seconds, 1 minutes, 10 minutes, an hour or any intermediate or longerperiods. Optionally any user input at the client terminal of therecipient will lead to deletion of the media object.

Instructing a browser to render a media object set to be presented for alimited time after the limited time has elapsed may be implemented byinstructing the deletion of the web document from the content deliverynetwork (CDN) and the web document server 308, for example by anhypertext transfer protocol (HTTP) DELETE REQUEST sent from a managingmodule in the application 301 to a respective Application ProgramInterface (API) in the routing server 303. The request deletes the webdocument from a web document database managed by the routing server 303,blocks access to the web document, and induces the transmission of a webdocument delete request to the web document server 308. Additionally oralternatively, the media object is deleted from a front UI presentingthe media object, for example by a query set to remove a Cascade StyleSheets (CSS) property from the web document. Additionally oralternatively, the media object or the reference thereto is in the cacheof the browsers accessing the web document is deleted or edited. Forexample, the property max-age of the cache-control in the header of arequest for the media object and/or the media object web document is setto X seconds, for example 1, 5, 30, 60, 90, or any intermediate orlonger period. When the request is sent again after the X seconds haselapsed, the browser asks the web document server 308 for the content;however, the content will be already erased.

According to some embodiments of the present invention, the networkaccessible storage address is forwarded to the recipient by the clientterminal 302 and not by the routing server 303. In such a manner, therecipient address may be maintained confidential at the client side. Forexample, FIG. 5 is a screenshot of exemplary GUI that allows a user tosend a generated network accessible storage address to a designatedmedia object in an SMS or an instant messaging (IM) message. Referenceis also made to FIG. 6 which is a sequence chart depicting a process fordistributing the network accessible storage address using services ormodules of the client hosting the transmitting application, according tosome embodiments of the present invention. In FIG. 6, reference numerals101-106 and 108-112 are as described above; however, reference numerals117 and 118 depict the transmission of the network accessible storageaddress to the application which transmits the network accessiblestorage address to the target contact member therefrom, either using acellular messaging service or an email module installed in the clientterminal, for example automatically based on instructions from theapplication. The address of the target contact member is extracted fromthe respective contact information in the client terminal.

According to some embodiments of the present invention, the processesdepicted in FIGS. 1 and 6 are applied when the recipient is notregistered to the services provided by the application, for example doesnot have the application installed in his client terminal(s). In suchembodiments, the presence or the absence of an application ID associatedwith the selected contact member is evaluated by the client application301 and/or the routing server 303. When presence is found, the mediaobject is sent over a packet oriented connection between applicationsinstalled in different client terminals. When absence is found, thereference to storage of the media object is sent using an SMS service,an IM service or an email service as depicted in FIG. 1 or FIG. 6.

For example, FIG. 7 depicts a process wherein the media object is sentdirectly from the router server 303 to the recipient and not uploaded toa web document server. In FIG. 7, reference numerals 101-104 are asdescribed above; however, reference numerals 119-122 depict how mediaobjects are forwarded without any storage in a web document server or anaccess to a given address.

It should be noted that the presence or the absence of an application IDassociated with the selected contact member may be determined at theclient terminal 302 by the application 301, for example using a localtable which documents who of the above contact members is subscribed tothe application services and/or who of the above contact members is notsubscribed to the application services.

The methods as described above are used in the fabrication of integratedcircuit chips.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

It is expected that during the life of a patent maturing from thisapplication many relevant methods and systems will be developed and thescope of the term a unit, a module, a network and a system is intendedto include all such new technologies a priori.

As used herein the term “about” refers to ±10%.

The terms “comprises”, “comprising”, “includes”, “including”, “having”and their conjugates mean “including but not limited to”. This termencompasses the terms “consisting of” and “consisting essentially of”.

The phrase “consisting essentially of” means that the composition ormethod may include additional ingredients and/or steps, but only if theadditional ingredients and/or steps do not materially alter the basicand novel characteristics of the claimed composition or method.

As used herein, the singular form “a”, “an” and “the” include pluralreferences unless the context clearly dictates otherwise. For example,the term “a compound” or “at least one compound” may include a pluralityof compounds, including mixtures thereof.

The word “exemplary” is used herein to mean “serving as an example,instance or illustration”. Any embodiment described as “exemplary” isnot necessarily to be construed as preferred or advantageous over otherembodiments and/or to exclude the incorporation of features from otherembodiments.

The word “optionally” is used herein to mean “is provided in someembodiments and not provided in other embodiments”. Any particularembodiment of the invention may include a plurality of “optional”features unless such features conflict.

Throughout this application, various embodiments of this invention maybe presented in a range format. It should be understood that thedescription in range format is merely for convenience and brevity andshould not be construed as an inflexible limitation on the scope of theinvention. Accordingly, the description of a range should be consideredto have specifically disclosed all the possible subranges as well asindividual numerical values within that range. For example, descriptionof a range such as from 1 to 6 should be considered to have specificallydisclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numberswithin that range, for example, 1, 2, 3, 4, 5, and 6. This appliesregardless of the breadth of the range.

Whenever a numerical range is indicated herein, it is meant to includeany cited numeral (fractional or integral) within the indicated range.The phrases “ranging/ranges between” a first indicate number and asecond indicate number and “ranging/ranges from” a first indicate number“to” a second indicate number are used herein interchangeably and aremeant to include the first and second indicated numbers and all thefractional and integral numerals therebetween.

It is appreciated that certain features of the invention, which are, forclarity, described in the context of separate embodiments, may also beprovided in combination in a single embodiment. Conversely, variousfeatures of the invention, which are, for brevity, described in thecontext of a single embodiment, may also be provided separately or inany suitable subcombination or as suitable in any other describedembodiment of the invention. Certain features described in the contextof various embodiments are not to be considered essential features ofthose embodiments, unless the embodiment is inoperative without thoseelements.

Although the invention has been described in conjunction with specificto embodiments thereof, it is evident that many alternatives,modifications and variations will be apparent to those skilled in theart. Accordingly, it is intended to embrace all such alternatives,modifications and variations that fall within the spirit and broad scopeof the appended claims.

All publications, patents and patent applications mentioned in thisspecification are herein incorporated in their entirety by referenceinto the specification, to the same extent as if each individualpublication, patent or patent application was specifically andindividually indicated to be incorporated herein by reference. Inaddition, citation or identification of any reference in thisapplication shall not be construed, as an admission that such referenceis available as prior art to the present invention. To the extent thatsection headings are used, they should not be construed as necessarilylimiting.

What is claimed is:
 1. A method comprising: acquiring contactinformation of a plurality of contact members the contact informationenabling a first client terminal to establish a cellular communicationchannel with a given contact member of the plurality of contact membersvia a cellular network; identifying a selection, by a user at the firstclient terminal, of at least one contact member of the plurality ofcontact members; receiving a designation of a media object; identifying,in a local table of the first client terminal, a presence or an absenceof a target application user identifier associated with the at least onecontact member; and in response to identifying the absence of the targetapplication user identifier in the local table; causing generation of aweb document that causes a browser of a second client terminal topresent the media object on the second client terminal for a limitedtime period after the generated web document is loaded by the browser,the generated web document being stored at a storage location; andcausing transmission of a carrier message to the second client, terminalusing a cellular messaging service, the carrier message comprising anetwork accessible storage address of Hall the storage location of themedia object, the carrier message being addressed to a telephone numberof at least one contact member, the telephone number being extractedfrom the contact information.
 2. The method of claim 1, wherein themedia object comprises at least one member of a group consisting of textcontent, a photograph, an audio content, and a video content, the atleast one member being recorded in response to the selection.
 3. Themethod of claim 1, wherein the receiving the designation of the mediaobject comprises recording the media object using a media objectdesignation interface presented on a display of the first clientterminal.
 4. The method of claim 3, wherein the receiving thedesignation of the media object and the identifying the selection areperformed in response to a common user input to the media objectdesignation interface.
 5. The method of claim 3, wherein the identifyingthe selection at the first client terminal of the at least one contactmember of the plurality of contact members comprises: generating aninteractive palette which includes a plurality of selectable icons eachone of the plurality of selectable icons is associated with one of theplurality of contact members; adding the interactive palette to themedia object designation interface; and presenting the media objectdesignation interface with the interactive palette on the display of thefirst client terminal; and identifying the selection based on a choiceof one of the plurality of selectable icons by the user.
 6. The methodof claim 5, wherein the display is a touch screen and the selection is asingle finger tap event on an area of the display that presents one ofthe plurality of selectable icons.
 7. The method of claim 3, wherein themedia object designation interface comprises an image or video capturingarea that displays an output of an image sensor of the first clientterminal.
 8. A client terminal comprising: a processor; andcomputer-readable storage medium comprising program instructions thatcause the processor to perform operations comprising: acquiring contactinformation of a plurality of contact members the contact informationenabling the client terminal to establish a cellular communicationchannel with a given contact member of the plurality of contact membersvia a cellular network; identifying a selection, by a user at the clientterminal, of at least one contact member of the plurality of contactmembers and to receive a designation of a media object based on saidselection; identifying, in a local table of the client terminal, apresence or an absence of a target application user identifierassociated with the at least one contact member; and in response toidentifying the absence of the target application user identifier in thelocal table: causing generation of a web document that causes a browserof a second client terminal to present the media object on the secondclient terminal for a limited time period after the generated webdocument is loaded by the browser, the generated web document beingstored at a storage location; and causing transmission of a carriermessage to the second client terminal using a cellular messaging servicein response to identifying the absence of the target application useridentifier in the local table, the carrier message comprising a networkaccessible storage address of the storage location of the media object,the cellular message being addressed to a telephone number of at leastone contact member that is extracted from the contact information. 9.The client terminal of claim 8, wherein the media object comprises atleast one member of a group consisting of text content, a photograph, anaudio content; and a video content, the at least one member beingrecorded in response to the selection.
 10. The client terminal of claim8, wherein the receiving the designation of the media object comprisesrecording the media object using a media object designation interfacepresented on a display of the client terminal.
 11. The client terminalof claim 10, wherein the receiving the designation of the media objectand the identifying the selection are performed in response to a commonuser input to the media object designation interface.
 12. The clientterminal of claim 10, wherein the identifying the selection at theclient terminal of the at least one contact member of the plurality ofcontact members comprises: generating an interactive palette whichincludes a plurality of selectable icons each one of the plurality ofselectable icons is associated with one of the plurality of contactmembers; adding the interactive palette to the media object designationinterface; and presenting the media object designation interface withthe interactive palette on the display of the client terminal; andidentifying the selection based on a choice of one of the plurality ofselectable icons by the user.
 13. The client terminal of claim 12,wherein the display is a touch screen and the selection is a singlefinger tap event on an area of the display that presents one of theplurality of selectable icons.
 14. The client terminal of claim 10,wherein the media object designation interface comprises an image orvideo capturing area that displays an output of an image sensor of theclient terminal.
 15. A non-transitory computer-readable storage mediumcomprising instructions that, when executed by a processing device of afirst client terminal, cause the processing device to perform operationscomprising: acquiring contact information of a plurality of contactmembers the contact information enabling the first client terminal toestablish a cellular communication channel with a given contact memberof the plurality of contact members via a cellular network; identifyinga selection, by a user at the first client terminal, of at least onecontact member of the plurality of contact members; receiving adesignation of a media object; identifying, in a local table of thefirst client terminal, a presence or an absence of a target applicationuser identifier associated with the at least one contact member; and inresponse to identifying the absence of the target application useridentifier in the local table; causing generation of a web document thatcauses a browser of a second client terminal to present the media objecton the second client terminal for a limited time period after thegenerated web document is loaded by the browser the generated webdocument being stored at a storage location; and causing transmission ofa carrier message to the second client terminal using a cellularmessaging service, the carrier message comprising a network accessiblestorage address of the storage location of the media object, the carriermessage being addressed to a telephone number of at least one contactmember, the telephone number being extracted from the contactinformation.
 16. The non-transitory computer-readable storage medium ofclaim 15, wherein the media object comprises at least one member of agroup consisting of text content, a photograph, an audio content, and avideo content, the at least one member being recorded in response to theselection.
 17. The non-transitory computer-readable storage medium ofclaim 15, wherein the receiving the designation of the media objectcomprises recording the media object using a media object designationinterface presented on a display of the first client terminal.
 18. Thenon-transitory computer-readable storage medium of claim 17, wherein thereceiving the designation of the media object and the identifying theselection are performed in response to a common user input to the mediaobject designation interface.
 19. The non-transitory computer-readablestorage medium of claim 17, wherein the identifying the selection at thefirst client terminal of the at least one contact member of theplurality of contact members comprises: generating an interactivepalette which includes a plurality of selectable icons each one of theplurality of selectable icons is associated with one of the plurality ofcontact members; adding the interactive palette to the media objectdesignation interface; and presenting the media object designationinterface with the interactive palette on the display of the firstclient terminal; and identifying the selection based on a choice of oneof the plurality of selectable icons by the user.
 20. The non-transitorycomputer-readable storage medium of claim 17, wherein the media objectdesignation interface comprises an image or video capturing area thatdisplays an output of an image sensor of the first client terminal.